package utils;

import java.io.Serializable;
import java.util.List;

import javax.persistence.EntityManager;

import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Factory;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;

import domain.Categoria;
import domain.Provincia;

/**
 * @author josemlara Clase que da servicio a varias interfaces
 * 
 */

@Name("common")
@Scope(ScopeType.SESSION)
@SuppressWarnings("unchecked")
public class CommonData implements Serializable {

	private static final long serialVersionUID = -7732877575078327512L;

	@In
	EntityManager em;

	List<Provincia> provincias;
	List<Categoria> categorias;

	@Factory("provincias")
	public List<Provincia> loadProvincias() {
		if (provincias == null) {
			provincias = (List<Provincia>) em.createQuery("FROM Provincia")
					.getResultList();
		}
		return provincias;
	}

	@Factory("categorias")
	public List<Categoria> loadCategorias() {
		categorias = (List<Categoria>) em.createQuery("From Categoria")
				.getResultList();

		return categorias;
	}

}
